0 RUN00100 1 REM" 2 [143]"PONZO*1983*WATERLOO 3 REM" 100 [151]53281,15:[151]53280,12:[153]"STOP":[153]"LOAD C64 TUTOR-1 101 PRINT"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 102 PRINT"[221]  C64 BASICS [146] [221]":MS$=" WELCOME! " 103 PRINT"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][144]" 104 SN$="1000":GOSUB63200:GOSUB63600 105 GOSUB60000:GOSUB63100:GOSUB59000 1000 GOSUB60000 1005 PRINT"[147]HI[146]! LET ME TELL YOU ABOUT MYSELF." 1010 PRINT"I'M A CLASSY CALCULATOR:" 1040 PRINT"I CAN ADD: 2+2=4[146] SUBTRACT:2-3=-1" 1050 PRINT"MULTIPLY:3*17=51[146] DIVIDE:4/16=.25" 1080 PRINT"I COMPUTE SINES AND LOGARITHMS" 1090 PRINT"SQUARE ROOTS AND ARCTANGENTS." 1100 PRINT"I RAISE NO'S TO A POWER:2^(-3)=.125" 1200 PRINT"TYPE:?2*SIN([255]/3)+LOG(1.2^3)-SQR(4*5.6)" 1300 PRINT"(THE ? IN FRONT MEANS PRINT)" 1310 PRINT" [163] [163][163][163][163][163]" 1320 PRINT"..HIT RETURN[146]..I PRINT THE ANSWER!" 1330 PRINT"TRY IT[146]. WHEN FINISHED.." 1331 PRINT"TYPE @[146]_[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 1332 MS$="@_REMEMBER[146]":GOSUB63100 1335 SN$="02000":GOTO63300 2000 PRINT"[147]":MS$=" GOOD":GOSUB60000:GOSUB63100:PRINT"[147]"; 2100 PRINT"[147]TO CORRECT A MISTYPED SYMBOL " 2110 PRINT"JUST PRESS THE KEY MARKED DEL[146]. 2150 [153]" TAB(TAB(TAB(" 2170 [153]"SUPPOSE YOU TYPED 2SIN((null)/3)." 2200 [153]"TO INSERT A * BETWEEN 2 AND SIN((null)/3)" 2210 [153]"TO INDICATE MULTIPLY.... 2300 PRINT"PRESS SHIFT AND DEL!" 2400 PRINT" [163][163][163][163][163] [183][183][183] [163][163][163] 2500 [153]"DO THIS AFTER YOU HAVE THE CURSOR" 2510 [153]"OVER THE S IN SIN." 2600 [153]"THAT WAY YOU INSERT A SPACE" 2610 [153]"TO TYPE IN '*'." 2800 [153]"TRY IT! THEN TYPE @" 2990 SN$[178]"03000":[137]63300 3000 [141]60000:[153]"LOADIF YOU WANT ME TO REMEMBER THE" 3010 [153]"RESULT OF SOME CALCULATION.." 3020 [153]"THEN GIVE IT A NAME!" 3030 [153]"TYPE:SAM=2*3/4+5WAIT" 3040 [153]"THEN I'LL REMEMBER SAM." 3050 [153]"YOU CAN ASK FOR THE VALUE OF SAM." 3070 [153]"TYPE:?SAM" 3080 [153]"YOU CAN ALSO TYPE:" 3090 [153]"JOE=SAM^2+SIN((null)*SAM/3)" 3100 [153]"?JOE " 3110 [153]"THEN I'LL PRINT THE VALUE OF JOE." 3120 [153]"TRY IT!THEN TYPE.. @" 3130 SN$[178]"04000":[137]63300 4000 [141]60000:[153]"LOADOK..IF YOU TELL ME THE VALUES" 4100 [153]"OF A,B & C THEN TYPE:" 4200 [153]"Y=(-B+SQR(B*B-4*A*C))/(2*A)" 4300 [153]"?Y " 4400 [153]"I'LL CALCULATE Y AND PRINT IT." 4500 [153]"UNFORTUNATELY, IF YOU GIVE ME" 4510 [153]"NEW VALUES FOR A,B & C...WELL.." 4600 [153]"YOU'LL HAVE TO RETYPE THE FORMULA!" 4800 [153]"(BUT WAIT TILL WE WRITE 'PROGRAMS')." 4910 [153]"WANT TO TRY THIS?" 4950 [153]"THEN:TYPE @WAIT TO CONTINUE." 4955 MS$[178]"@_TANTANTANTANTANTANTANTAN":[141]63100 4970 SN$[178]"05000":[137]63300 5000 [141]60000:[153]"LOADIF YOU GIVE ME NEW VALUES FOR A,B &C" 5300 [153]"BY TYPING A=5.3:B=-2.1:C=.011" 5400 [153]"(YOU CAN GIVE ME SEVERAL INSTR'NS" 5500 [153]"ON THE SAME LINE,SEPARATED BY A COLON:)" 5700 [153]"I'LL REMEMBER THESE NEW VALUES" 5710 [153]"AND IF YOU WANT Y RECALCULATED" 5800 [153]"JUST MOVE THE CURSOR TO THE" 5810 [153]"STATEMENT DEFINING Y AND HIT 'RETURN'." 5840 [153]"I'LL THINK YOU JUST TYPED IT IN!" 5850 [153]"THEN YOU CAN ASK ?Y" 5860 [153]"TRY IT! THEN TYPE @" 5999 SN$[178]"06000":[137]63300 6000 [141]60000:[153]"LOADNOW ...MY MORE IMPRESSIVE TALENT.." 6005 [153]" PROGRAMSWAIT" 6010 [153]" FREFREFREFREFREFREFREFRE" 6011 MS$[178]" AHEM...":[141]63100 6015 [141]63000 6020 [153]"LOADIF YOU GIVE EACH INSTRUCTION A 'NUMBER'" 6030 [153]"I'LL REMEMBER THE INSTRUCTION!" 6040 [153]"FOR EXAMPLE, TYPE:" 6050 [153]"10 Y=(A+B)/2" 6060 [153]"20 ?Y " 6080 [153]"#10 SAYS:COMPUTE THE AVERAGE OF" 6085 [153]"TWO NUMBERS A & B, AND CALL IT Y." 6100 [153]"#20 SAYS:PRINT THE VALUE OF Y." 6120 [153]"NOW I'LL 'REMEMBER' THESE INSTRUCTIONS!" 6130 [153]"CLEAR THE SCREEN,TYPE A=1.5:B=-4" 6140 [153]"THEN GOTO 10WAIT...I'LL OBEY!" 6150 [153]"TRY IT! THEN TYPE @" 6160 MS$[178]" GOTO 10":[141]63100 6170 SN$[178]"07000":[137]63300 7000 [141]60000:[153]"LOADSUPPOSE YOU WANT THE VALUE OF Y" 7010 [153]"PRINTED IN THE MIDDLE OF THE SCREEN." 7047 [153]"TYPE:" 7050 [153]"15?" 7060 [153]"16?SPC("W2$");" 7070 [153]"#15 SAYS:PRINT NOTHING..A BLANK LINE." 7090 [153]"#16 SAYS:SPACE RIGHT "W2$" PLACES." 7100 [153]">THE SEMI-COLON AFTER SPC("W2$")" 7110 [153]"SAYS:LEAVE THE CURSOR THERE!" 7120 [153]"YOU SEE,I NORMALLY RETURN THE CURSOR" 7125 [153]"TO THE LEFT MARGIN.." 7130 [153]"UNLESS YOU INCLUDE THE ;" 7140 [141]63000 7145 [153]"LOADTYPE STATEMENTS IN ANYCMDCMDCMDFREFREFREON ORDER." 7146 [153]"I'LL REMEMBER THEM IN THE ORDER" 7147 [153]"OF THEIR STATEMENT #'S! YOU TYPE:" 7160 [153]"10Y=(A+B)/2" 7161 [153]"20?Y " 7162 [153]"15? " 7163 [153]"16?SPC("W2$");" 7170 [153]"I REMEMBER THEM AS:" 7171 [153]" 10 Y=(A+B)/2" 7172 [153]" 15 PRINT" 7173 [153]" 16 PRINTSPC("W2$");" 7174 [153]" 20 PRINTY" 7180 [153]"TRY IT!..THEN TYPE @WAIT TO GO ON." 7260 SN$[178]"08000":[137]63300 8000 [141]60000 8010 [153]"LOAD 10 Y=(A+B)/2 SPC(" 8020 [153]" 15 PRINT SPC(THE PROGRAM" 8030 [153]" 16 PRINTSPC("W2$"); SPC(SO FAR" 8040 [153]" 20 PRINTY SPC(" 8060 [153]"TO CONVINCE YOURSELF THAT I HAVE" 8070 [153]"ALL YOUR INSTRUCTIONS,IN ORDER.." 8090 [153]"JUST TYPE:LIST10-20" 8110 [153]"I'LL PRINT EVERY STATEMENT :10 TO 20." 8120 [153]"YOU CAN EDIT STATEMENTS RIGHT" 8125 [153]"ON THE SCREEN. JUST LISTWAIT ..THEN MOVE" 8140 [153]"THE CURSOR..THEN INST/DELWAIT ETC." 8150 [153]"TO CHECK THE CHANGES, LISTWAIT AGAIN. 8155 PRINT"WANT TO TRY? (CONTINUE WITH @[146])" 8160 SN$="09000":GOTO63300 9000 GOSUB60000:MS$="SOME NOTES[146]":GOSUB63100 9010 PRINT"[147]TO CHANGE[146] A STATEMENT" 9020 PRINT"TYPE THE NO. AND THE NEW INSTRUCTION." 9030 PRINT"(I'LL FORGET THE OLD INSTRUCTION)." 9040 PRINT"TO DELETE[146] A STATEMENT" 9050 PRINT"TYPE THE NO. THEN PRESS 'RETURN'!" 9090 PRINT"WHICH REMINDS ME.." 9100 PRINT"DO NOT[146] TYPE IN SOME NUMBER.." 9110 PRINT"CHANGE YOUR MIND...HIT RETURN.." 9120 PRINT"..THEN REENTER THE NUMBER." 9130 PRINT"YOU MAY HAVE WIPED OUT A STATEMENT!" 9140 PRINT"NOTE,TOO,THAT YOU MAY USE ?" 9145 PRINT"I WILL REMEMBER IT AS PRINT[146]." 9160 GOSUB63000 9161 PRINT"[147]ALSO..I REMEMBER ONLY THE FIRST TWO" 9162 PRINT"CHARACTERS IN ANY NAME[146] YOU ASSIGN." 9163 PRINT"SAM=10" 9164 PRINT"SALLY=20" 9165 PRINT"TO ME, BOTH[146] HAVE THE SAME NAME!" 9166 PRINT"NAMELY SA[146]!" 9167 PRINT"HENCE SA=10 FOLLOWED BY SA=20 MAKES" 9168 PRINT"SAM=SALLY=20." 9169 MS$="SAM=SALLY?":GOSUB63100 9170 GOSUB63000 10000 : 10009 PRINT"[147] IN ADDITION TO MANIPULATING NUMBERS" 10010 PRINT"I CAN MANIPULATE STRINGS[146] OF SYMBOLS." 10020 PRINT"IN THE SAME WAY THAT YOU ASSIGN A NAME" 10030 PRINT"TO A NUMBER,LIKE X OR Y OR SAM," 10040 PRINT"YOU CAN GIVE A NAME TO A STRING" 10050 PRINT"OF CHARACTERS." 10060 PRINT"SO THAT I DON'T BECOME CONFUSED" 10070 PRINT"I MUST KNOW WHETHER 2*3 IS A NUMBER" 10080 PRINT"OR A STRING OF THREE SYMBOLS." 10090 PRINT"HENCE, I MUST INSIST THAT THE NAME YOU" 10100 PRINT"GIVE IT ENDS WITH A $ ..IF IT'S A" 10110 PRINT"STRING OF SYMBOLS..LIKE X$,Y$ OR SAM$." 10115 GOSUB63000 10120 PRINT"[147] YOU CAN NOW TRY THE FOLLOWING:" 10130 PRINT"TYPE:" 10140 PRINT"X=2+3" 10150 PRINT"X$="CHR$(34)"2+3"CHR$(34) 10160 PRINT"?X" 10170 PRINT"?X$" 10180 PRINT"..SEE WHAT I'LL PRINT[146]?" 10195 PRINT"THEN TYPE @[146] TO CONTINUE.":MS$=" ???? ":GOSUB63100 10200 SN$="11000":GOTO63300 11000 GOSUB60000 11010 PRINT"YOU GUESSED IT!" 11020 PRINT"I'LL PRINT:" 11030 PRINT:PRINT" 5" 11040 PRINT"2+3":PRINT 11045 GOSUB63000 11050 PRINT"[147] NOW WHAT DO YOU THINK X$+Y$ MEANS?" 11060 PRINT"TRY TYPING:":PRINT 11070 PRINT"A$="CHR$(34)"I"CHR$(34) 11080 PRINT"B$="CHR$(34)"YOU"CHR$(34) 11090 PRINT"Y$="CHR$(34)"AM GREAT!"CHR$(34) 11100 PRINT"Z$="CHR$(34)"ARE TOO?"CHR$(34) 11110 PRINT"THEN ASK ME:" 11120 PRINT"?A$+Y$" 11130 PRINT"?B$+Z$" 11140 PRINT"TRY IT! THEN TYPE @" 11145 MS$=" GREAT? ":GOSUB63100 11150 SN$="12000":GOTO63300 12000 GOSUB60000:PRINT"[147]WELL..IF YOU TRIED IT YOU'LL NOTICE"" 12010 [153]"THAT A$ STANDS FOR EVERYTHINGWAIT INSIDE" 12020 [153]"THE QUOTES. IF YOU WANT A SPACE" 12030 [153]"AFTER I..THEN INCLUDE THE SPACE TOO!" 12040 [153]" TAB(" 12045 [153]"A$="[199](34)"I "[199](34) 12046 [153]" ^" 12047 [153]" SEE?" 12048 [141]63000 12050 [153]"LOADOK..LET'S WORK ALL THIS INTO A PROGRAM." 12060 [153]"LET'S TYPE:" 12070 [153]"10?"[199](34)"CALCULATION OF THE HYPOTENUSE"[199](34) 12080 [153]"20?"[199](34)"ENTER SIDE A"[199](34) 12090 [153]"30 INPUT A" 12100 [153]"40?"[199](34)"ENTER SIDE B"[199](34) 12110 [153]"50 INPUT B" 12120 [153]"60 C=SQR(A*A+B*B):?"[199](34)"HYP="[199](34)"C" 12130 [153]"70 GO TO 20" 12140 [153]"THE ONLY THING NEW IS INPUTWAIT." 12170 [153]"AT STATEMENT#30 I'LL WAIT FOR YOU" 12180 [153]"TO TYPE IN A NUMBER, AND I'LL CALL" 12190 [153]"THE NUMBER A,IF YOU SAY INPUTAWAIT." 12300 [153]"TRY IT!(THEN TYPE @WAIT)" 12305 MS$[178]"HYPO/WHAT?":[141]63100 12310 SN$[178]"13000":[137]63300 13000 [141]60000:[153]"LOADSUPPOSE YOU WANT THE SQUARES" 13010 [153]"OF THE INTEGERS FROM 1 TO 100." 13020 [153]"YOU COULD TYPE:" 13030 [153]"10 ?1*1" 13040 [153]"20 ?2*2WAIT ETC.ETC." 13060 [153]"OR,YOU COULD REPEAT THE INSTRUCTION:" 13070 [153]"10 ?N*NWAIT" 13080 [153]"AGAIN & AGAIN,FOR N=1 THEN N=2..ETC." 13090 [153]"TO DO THIS YOU PUT THE INSTRUCTION TO " 13100 [153]"BE REPEATED WITHIN A FOR-NEXTWAIT LOOP:" 13120 [153]"10 FOR N=1 TO 100WAIT _HERE'S THE "[199](34)"FOR"[199](34) 13130 [153]"20 ?N*N " 13140 [153]"30 NEXT WAIT _HERE'S THE "[199](34)"NEXT"[199](34) 13150 [141]63000:[153]"LOAD" 13160 MS$[178]" WATCH!! ":[141]63100 14000 [141]60000:[153]"LOADHOW'S THIS FOR A DIVERSION?" 14010 [129]T[178]1[164]500:[130]:[153]"LOAD" 14020 [129]I[178]1[164]2 14030 [129]J[178]1[164]WD[171]1:[129]T[178]1[164]5:[130] 14040 [153]" *CMD";:[130] 14050 [129]J[178]1[164]WD[171]1:[129]T[178]1[164]5:[130] 14060 [153]" CMDCMD*CMD";:[130] 14070 [129]J[178]1[164]WD:[129]T[178]1[164]5:[130] 14080 [153]"*";:[130]:[130] 14090 [141]63000 14100 [153]"LOAD":MS$[178]" NICE !WAIT ":[141]60000:[141]63100:[153]"LOAD"; 14150 [153]"LET'S TRY IT!" 14160 [153]"THERE WILL BE 4 FOR-NEXTWAIT LOOPS." 14170 [153]"1WAIT:"W3$" MOVEMENTS TO THE RIGHT." 14180 [153]"2WAIT:"W3$" TO THE LEFT.." 14190 [153]"(EACH OF THE ABOVE WILL PRINT A NEW *" 14200 [153]"AND ERASE THE OLD *..GIVING THE 14210 PRINT"APPEARANCE OF MOTION)." 14220 PRINT"3[146]:THEN, RIGHT AGAIN (BUT WITHOUT" 14221 PRINT"ERASING) LEAVING THE *'S." 14230 PRINT"4[146]:THEN[157][157][157][157][184][184][184][184][145] ALL 3 LOOPS WILL BE REPEATED" 14231 PRINT"2 TIMES,FOR 2 LINES!" 14245 GOSUB63000 14250 PRINT"[147]HERE WE GO!" 14260 FORI=1TO500:NEXT 14280 PRINT"[147]ASSUME THE CURSOR IS 'OVER' A *." 14290 PRINT"TO ERASE WE TYPE 'SPACE'.." 14300 PRINT"THEN *,THEN A 'CURSOR-LEFT'" 14320 PRINT"(LEAVING THE CURSOR AGAIN 'OVER' *[146])." 14350 PRINT"10?"CHR$(34)" *[157]"CHR$(34) 14360 PRINT" ^" 14365 PRINT" THIS IS CURSOR-LEFT[146]!" 14390 PRINT"REPEAT THESE INST'NS "W3$" TIMES" 14400 PRINT"WITH A FOR-NEXT" 14410 PRINT"LIKE SO:":PRINT 14420 PRINT"9 FOR I=1 TO "W3$ 14430 PRINT"10?"CHR$(34)" *[157]"CHR$(34) 14440 PRINT"11 NEXT"; 14450 GOSUB63000 14451 PRINT"[147]9 FOR I=1 TO "W3$" [166]" 14452 PRINT"10?"CHR$(34)" *[157]"CHR$(34)" [166] WE HAVE THIS SO FAR" 14453 PRINT"11 NEXT [166]" 14470 PRINT"NOW YOU'D TYPE:" 14480 PRINT"19 FOR I=1 TO"W3$ 14490 PRINT"20?"CHR$(34)" [157][157]*[157]"CHR$(34) 14500 PRINT"21 NEXT" 14520 PRINT"NOTE THE SEQUENCE OF PRINT INST'NS:" 14530 PRINT"SPACE[146]-C'SORLEFT[146]-C'SORLEFT[146]-*[146]-C'SORLEFT[146]" 14540 PRINT"NOW WE HAVE * MOVING TO THE RIGHT," 14550 PRINT"AND[157][157][157][184][184][184][145] TO THE LEFT," 14560 PRINT"NOW:" 14570 PRINT"29FORI=1TO"W1$ 14580 PRINT"30?"CHR$(34)"*"CHR$(34) 14590 PRINT"31NEXT" 14600 GOSUB63000 14610 PRINT"[147]NOTE THAT YOU NEEDN'T LEAVE ALL THOSE" 14620 PRINT"BLANK SPACES IN THE INST'NS." 14630 PRINT"(ME SMART FELLOW!)" 14640 PRINT"ANYWAY..THE LAST FOR-NEXT LOOP" 14650 PRINT"REPEATS ALL THE ABOVE TWICE!" 14660 PRINT" [163][163][163] " 14670 PRINT"SO YOU'D TYPE:" 14680 PRINT"5FORJ=1TO2 _FIRST STATEMENT" 14690 PRINT"40NEXT _LAST STATEMENT" 14700 GOSUB63000 14800 PRINT"[147]NOW OUR PROGRAM(PROGRAMME?)LIST[146]S LIKE:" 14810 PRINT" 5 FORJ=1TO2" 14820 PRINT" 9 FORI=1TO"W3$ 14830 PRINT" 10 PRINT"CHR$(34)" *[157]"CHR$(34) 14840 PRINT" 11 NEXT" 14850 PRINT" 19 FORI=1TO"W3$ 14860 PRINT" 20 PRINT"CHR$(34)" [157][157]*[157]"CHR$(34) 14870 PRINT" 21 NEXT" 14880 PRINT" 29 FORI=1TO"W1$ 14890 PRINT" 30 PRINT"CHR$(34)"*"CHR$(34) 14900 PRINT" 40 NEXT" 14901 PRINT" 40 NEXT" 14920 PRINT"NOTE THAT WE USE "CHR$(34)"J"CHR$(34) 14930 PRINT"FOR THE LOOP THAT REPEATS FOR 2 LINES." 14940 PRINT"(THAT IS, THE OUTERMOST LOOP)." 14950 PRINT"WITHIN THIS LOOP DON'T[146] USE J[146] AGAIN!" 14965 PRINT"(SO WE USED I[146])" 14971 GOSUB63000 14980 PRINT"[147] 5 FORJ=1TO2" 14981 PRINT" 9 FORI=1TO"W3$ 14982 PRINT" 10 PRINT"CHR$(34)" *[157]"CHR$(34) 14983 PRINT" 11 NEXT I _[192][192][192]NOTE" 14984 PRINT" 19 FORI=1TO"W3$ 14985 PRINT" 20 PRINT"CHR$(34)" [157][157]*[157]"CHR$(34) 14986 PRINT" 21 NEXT I _[192][192][192]NOTE" 14987 PRINT" 29 FORI=1TO"W1$ 14988 PRINT" 30 PRINT"CHR$(34)"*"CHR$(34) 14989 PRINT" 31 NEXT I _[192][192][192]NOTE" 14990 PRINT" 40 NEXT J _[192][192][192]NOTE" 14991 PRINT"IF YOU GET CONFUSED WITH" 14992 PRINT"ALL THOSE NEXT[146]S..." 14995 PRINT"TYPE: NEXT I[146] & NEXT J" 14998 GOSUB63000 15000 PRINT"[147]WANT TO TRY[146]?" 15010 PRINT"I'LL REPEAT THE INSTRUCTIONS." 15115 PRINT"YOU CAN ENTER THE INST'NS BY PUTTING" 15116 PRINT"THE CURSOR AT THE FIRST INSTR'N" 15117 PRINT"THEN REPEATEDLY PRESSING 'RETURN'" 15118 PRINT"SO I'LL THINK YOU[146] TYPED THEM IN." 15120 GOSUB63000 15810 PRINT"[147]";:PRINT"5FORJ=1TO2" 15820 PRINT"9FORI=1TO"W3$ 15830 PRINT"10?"CHR$(34)" *[157]"CHR$(34) 15840 PRINT"11NEXT" 15850 PRINT"19FORI=1TO"W3$ 15860 PRINT"20?"CHR$(34)" [157][157]*[157]"CHR$(34) 15870 PRINT"21NEXT" 15880 PRINT"29FORI=1TO"W1$ 15890 PRINT"30?"CHR$(34)"*"CHR$(34) 15900 PRINT"31NEXT" 15901 PRINT"40NEXT" 15905 PRINT"AFTER ENTERING STATEMENTS 5-40 TYPE:" 15906 PRINT"RUN[146] TO RUN YOUR PROGRAMME." 15910 PRINT"(TYPE @[146] TO CONTINUE TUTOR 1).":SN$="16000":GOTO63300 16000 GOSUB60000:PRINT"[147]DOESN'T WORK DOES IT?" 16001 GOSUB18000 16005 PRINT"[147]NOW SUPPOSE YOU'D LIKE TO SPECIFY" 16010 PRINT"THE SYMBOL USED..INSTEAD OF *." 16120 PRINT"IN THE PROGRAM, REPLACE * IN " 16130 PRINT"STATEMENTS #10,20&30 BY,SAY,S$" 16140 PRINT"THEN INCLUDE THE STATEMENTS:" 16150 PRINT"3?"CHR$(34)"SYMBOL?"CHR$(34) 16160 PRINT"4 INPUT S$" 16170 PRINT"NOW I'LL WAIT FOR YOU TO ENTER THE" 16180 PRINT"SYMBOL(OR STRING)WHICH IS LATER" 16190 PRINT"REFERRED TO AS S$." 16195 GOSUB63000 16200 PRINT"[147]ANOTHER THING.." 16210 PRINT"YOU WILL WANT TO CLEAR THE " 16220 PRINT"SCREEN AT THE START OF THE PROG'M" 16230 PRINT"SO START WITH:" 16240 PRINT"1?"CHR$(34)"[147]"CHR$(34) 16250 PRINT"THIS SAYS: PRINT A CLR" 16260 PRINT" [163][163][163]" 16261 GOSUB63000 16270 PRINT"[147]ALSO, YOU WON'T WANT ME TO COME BACK" 16280 PRINT"WITH MY "CHR$(34)"READY"CHR$(34) 16290 PRINT" [163][163][163][163][163]" 16300 PRINT"SO GIVE ME SOMETHING TO DO,LIKE:" 16310 PRINT"50 FORI=1TO5000:G=0:NEXT" 16320 PRINT"THAT WAY I'LL GO AWAY AND SET G=0" 16330 PRINT"5000 TIMES!" 16335 PRINT"..OR YOU COULD HAVE:" 16336 PRINT"50 GO TO 50" 16337 PRINT"THEN I'D 'LOOP' ON STATEMENT#50 AND" 16338 PRINT"TO STOP ME YOU'D HIT STOP[146]." 16350 GOSUB63000 16370 PRINT"[147]ANOTHER THING,YOU MAY WANT TO CHANGE" 16380 PRINT"YOUR MIND ABOUT THE NO. OF LINES" 16390 PRINT"PRINTED(INSTEAD OF ALWAYS 2)" 16400 PRINT"SO CHANGE: FOR J=1TO 2" 16410 PRINT"TO READ: FOR J=1TO L" 16420 GOSUB63000 16430 PRINT"[147]OF COURSE YOU'LL HAVE TO INPUT"CHR$(34)"L"CHR$(34) 16440 PRINT"SO INSERT THE STATEMENT:" 16450 PRINT"2 INPUT"CHR$(34)"LINES="CHR$(34)";L" 16470 PRINT"I'LL PRINT THE PROMPTING REMARK:" 16480 PRINT"LINES=?" 16481 PRINT"AND WILL WAIT FOR L TO BE TYPED IN." 16490 GOSUB63000 16500 PRINT"[147]THEN YOU MAY WANT TO USE MY CLASSY" 16510 PRINT""CHR$(34)"REVERSE FIELD"CHR$(34) 16520 PRINT" [163][163][163][163][163][163][163][163][163][163][163][163][163]" 16530 PRINT"..THAT'S CTRL-9[146]=RVS ON" 16550 PRINT"SO INSERT THIS PRINT COMMAND" 16560 PRINT"AT THE BEGINNING OF EACH PRINT" 16561 PRINT"SEQUENCE." 16570 GOSUB63000 16580 PRINT"[147]REPLACE:" 16590 PRINT" ?"CHR$(34)" *[157]"CHR$(34); 16600 PRINTSPC(5)" ..BY:" 16610 PRINT" ?"CHR$(34)" *[157]"CHR$(34) 16615 PRINT" ^" 16616 PRINT"THAT'S A 'RVS' COMMAND!" 16620 GOSUB63000 16630 PRINT"[147]I'LL PRINT LOTS OF THINGS IN" 16640 PRINT" REVERSE FIELD" 16650 PRINT" [163][163][163][163][163][163][163][163][163][163][163][163][163]" 16660 PRINT" SO IF YOU WANT IT "CHR$(34)"OFF"CHR$(34) 16670 PRINT" INSERT A PRINT COMMAND:" 16680 PRINT:PRINT"41?"CHR$(34)"[146]"CHR$(34) 16690 PRINT" ^ THAT'S RVS OFF[146]!" 16845 GOSUB63000 16850 PRINT"[147]THEN..IF YOU WANT TO SLOW THINGS DOWN" 16860 PRINT"TRY SUBROUTINES[146]!" 16870 PRINT"INCLUDE A FEW 'GOSUB500' STATEMENTS" 16880 PRINT"AND I'LL GO TO STATEMENT 500 AND OBEY" 16890 PRINT"THE INSTRUCTIONS THERE." 16900 PRINT"SO, PUT INSTRUCTIONS AT 500:" 16910 PRINT"500 FORT=1 TO1000" 16920 PRINT"510 NEXT " 16930 PRINT"520 RETURN " 16940 PRINT"AFTER DOING 'NOTHING' 1000 TIMES I'LL" 16950 PRINT"'RETURN' TO CONTINUE THE MAIN PROGRAM." 16960 GOSUB63000:GOTO19000 18000 PRINT"OF COURSE WE FORGOT TO INCLUDE ALL" 18010 PRINT"THOSE SEMI-COLONS!!!" 18020 PRINT" [163][163][163][163][163][163][163][163][163][163][163] " 18030 PRINT"SO END EACH PRINT STATEMENT" 18040 PRINT"..NAMELY #10,#20 & #30..." 18050 PRINT"WITH A SEMI-COLON! ;" 18060 PRINT"BUT FIRST, LET'S FORGE AHEAD!":GOSUB63000:PRINT"[147]" 18065 MS$="GO!GO!GO!" 18070 GOSUB63100 18075 RETURN 19000 PRINT"[147]";:PRINT"1?"CHR$(34)"[147]"CHR$(34) 19010 PRINT"2INPUT"CHR$(34)"LINES="CHR$(34)";L" 19020 PRINT"3?"CHR$(34)"SYMBOL?"CHR$(34) 19030 PRINT"4INPUTS$" 19810 PRINT"5FORJ=1TOL" 19820 PRINT"9FORI=1TO"W3$":GOSUB500" 19830 PRINT"10?"CHR$(34)" "CHR$(34)"S$"CHR$(34)"[157]"CHR$(34)";" 19840 PRINT"11NEXT" 19850 PRINT"19FORI=1TO"W3$":GOSUB500" 19860 PRINT"20?"CHR$(34)" [157][157]"CHR$(34)"S$"CHR$(34)"[157]"CHR$(34)";" 19870 PRINT"21NEXT" 19880 PRINT"29FORI=1TO"W1$":GOSUB500" 19890 PRINT"30?"CHR$(34)""CHR$(34)"S$;" 19900 PRINT"31NEXT" 19901 PRINT"40NEXT":PRINT"50GOTO1" 19902 PRINT"500FORT=1TO5:NEXT:RETURN" 19910 PRINT"TYPE IT IN & RUN[146] TO RUN IT." 19930 PRINT"THEN TYPE @[146] TO CONTINUE":SN$="20000":GOTO63300 20000 GOSUB60000:PRINT"[147]A FINAL WORD (..OR TWO..):" 20010 PRINT"SOMETIMES YOU RUN A PROGRAM WITH:" 20020 PRINT"RUN 10" 20030 PRINT"SOMETIMES WITH:" 20040 PRINT"GOTO10" 20050 PRINT"WHAT'S THE DIFFERENCE?" 20060 PRINT"WELL..IF YOU TYPE RUN..[146] I FORGET" 20070 PRINT"THE VALUES OF 'X' AND 'Y' AND 'SAM'" 20080 PRINT"AND WILL START FROM SCRATCH." 20090 PRINT"GOTO..[146] AND I'LL REMEMBER THEM!" 20100 GOSUB63000 20110 PRINT"[147]THIS IS HANDY:" 20120 PRINT"STOP[146] A PROGRAM WHILE IT'S RUNNING" 20130 PRINT"AND TYPE:" 20140 PRINT"?X:?Y:?SAM" 20150 PRINT"AND I'LL PRINT THE VALUES OF THESE" 20160 PRINT"VARIABLES AT THE TIME I WAS STOP[146]PED." 20170 PRINT"YOU CAN TYPE CONT[146] TO CONTINUE" 20180 PRINT"WHERE I LEFT OFF...OR.." 20190 PRINT"GOTO100[146] TO CONTINUE AT STATEMENT 100" 20200 PRINT"WITHOUT FORGETTING 'X' AND 'Y' ETC." 20210 PRINT"[184][184][184][184][184][184][184]" 20220 GOSUB63000 20230 PRINT"[147]":MS$="AU REVOIR![146]":GOSUB63100:GOSUB63500:END 59000 PRINT"[147]" 59001 PRINT"DURING THE TUTORIAL YOU MAY WISH" 59002 PRINT"TO RETURN TO AN EARLIER 'PAGE'." 59003 PRINT"JUST HIT THE @-KEY[146], AT ANY TIME," 59004 PRINT"AND THE TUTORIAL WILL BACK UP" 59005 PRINT"A PAGE OR TWO." 59006 PRINT"ALSO, YOU HAVE AN OPPORTUNITY TO" 59007 PRINT"COMPOSE YOUR OWN PROGRAMS." 59008 PRINT"WHEN YOU WISH TO CONTINUE WITH" 59009 PRINT"THE TUTORIAL, HIT THE @-KEY[146]!":GOSUB63000 59010 MS$="@[146]_REMEMBER":GOSUB63100 59020 GOSUB63000:RETURN 60000 POKE204,1:REM INITIALIZE 60001 BT$="":FORI=1TO24:BT$=BT$+"":NEXT 60002 PT$="[176][192][192][192][192][192][192][192][192][192][192][174][157][157][157][157][157][157][157][157][157][157][157][157][221][221][157][157][157][157][157][157][157][157][157][157][157][157][173][178][192][192][192][192][192][192][192][192][178][189]" 60003 PT$=PT$+"[157][157][157][157][157][157][157][157][157][157][157][157][157][206][163][163][163][163][163][163][163][163][163][163][163][163][205][157][157][157][157][157][157][157][157][157][157][157][157][157][157][165]============[167]" 60004 PT$=PT$+"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][208][207][163][163][163][163][163][163][163][163][163][163][208][207][145][145][145][145][157][157][157][157][157][157][157][157][157][157][157][157]" 60005 PT$=BT$+"[145][145][145][145][145][145]"+PT$+"[144]" 60007 ML$="" 60008 WD=40:CRT=1024:PRINTCHR$(142) 60009 W2=WD/2:W3=WD-1:W1$=MID$(STR$(WD),2): 60010 W2$=MID$(STR$(W2),2):W3$=MID$(STR$(W3),2) 60020 PRINT"[147]":POKE53281,15:POKE53280,12:PRINT"[144]" 60998 IFPEEK(789)<>7*16+15THENSYS(7*4096+15*256+12*16+3) 60999 RETURN 61000 REM*NEW WORKSPACE 61001 M=7*4096+15*256+15*16 61002 RESTORE 61003 FORI=MTOM+15:READK:POKEI,K:NEXT 61004 DATA 1,96,3,96,3,96,3,96 61005 DATA 144,127,0,0,144,127,0,0 61006 M=6*4096:FORI=0TO2:POKEM+I,0:NEXT 61007 RETURN 63000 PRINT"HIT RETURN[146] TO CONTINUE"; 63001 GETA$:IFA$<>""THEN63001 63002 GETA$:IFA$=""THEN63002 63003 RETURN 63100 FORT=1TO5:PRINTPT$MS$; 63101 PRINTPT$" "; 63102 PRINTPT$MS$;:NEXT 63103 PRINT:RETURN 63200 POKE56,96:POKE52,96:POKE55,0:POKE51,0:GOSUB61000 63201 WD=40:PRINTCHR$(142) 63202 M=7*4096+15*256+9*16 63203 FORI=MTOM+91:READK:POKEI,K:NEXT 63204 DATA165,203,201,46,208,83,32,195,127,165,44,201,8,240,3,32,177,127,32 63205 DATA142,166,165,44,201,8,240,3,76,128,164,76,174,167,162,16,189,239 63206 DATA127,72,181,42,157,239,127,104,149,42,202,208,241,96,120,173,238,127 63207 DATA77,20,3,141,20,3,173,239,127,77,21,3,141,21,3,88,96,173,20,3,73 63208 DATA144,141,238,127,173,21,3,73,127,141,239,127,96,76,255,255 63216 POKEM+90,PEEK(788):POKEM+91,PEEK(789) 63220 KEY=7*4096+15*256+13*16+8 63221 SYS(KEY):REM KEY FOR IRQ SWAP 63299 RETURN 63300 REM*SWITCH TO NEW WORKSPACE 63301 GOSUB63600:REM RUN NUMBER 63302 GOSUB61000:REM NEW THE WORKSPACE 63303 GOTO63403 63400 REM*SWITCH TO OLD WORKSPACE 63401 GOSUB63600 63403 SWTCH=7*4096+15*256+9*16+15 63404 SYS(SWTCH):REM SWAP POINTERS 63405 POKE204,2:END 63500 REM*RESTORE PET 63501 SN$="100":GOSUB63600 63502 M=7*4096+15*256+12*16+3:IFPEEK(789)=7*16+15THENSYSM 63503 RETURN 63600 REM*INSERT RUN NUMBER 63601 M=2059:SN$="00000"+SN$ 63602 FORI=1TO5:POKEM-I,ASC(RIGHT$(SN$,I)):NEXT:RETURN